import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

    public class Main {
        /**
         * 提取给定字符串中的整数数组
         *
         * @param text String类型的对象，代表给定字符串
         * @return int类型的数组，代表从text中提取的整数数组
         */
        public int[] array(String text) {
            String[] nums = text.split(","); // 通过一个逗号将text分割为数字字符串集合
            int n = nums.length; // text中数字字符串的个数
            int[] ans = new int[n]; // 从text中提取的整数数组
            /* 将nums中的数字字符串依次转换为对应的整数，并存入ans数组中 */
            for (int i = 0; i < n; i++) {
                ans[i] = Integer.parseInt(nums[i]);
            }
            return ans;
        }

        /**
         * 返回给定数组中的最大值
         *
         * @param nums int类型的数组，代表给定数组
         * @return int类型的整数，代表nums中的最大值
         */
        public int getMax(int[] nums) {
            int n = nums.length; // nums数组中元素的个数
            int ans = nums[0]; // 初始时假定第一个元素最大
            /* 从nums数组的第二个元素开始，到最后一个元素为止 */
            for (int i = 1; i < n; i++) {
                ans = (ans < nums[i] ? nums[i] : ans); // 更新ans
            }
            return ans;
        }

        /**
         * 统计给定字符串数组中的最大值及其出现的行号
         *
         * @param texts String类型的数组，代表给定字符串数组
         * @return int类型的数组，第一个元素为texts中的最大值，其它元素为最大值依次出现的行号
         */
        public int[] countMax(String[] texts) {
            int n = texts.length; // texts中字符串的个数
            int maxOfAll; // texts中的最大值
            int[] maxValues = new int[n]; // 存储texts中每个字符串的最大值
            int[] nums; // 代表texts中每个字符串转换成的整数数组
            int[] ans = new int[n + 1]; // 返回结果
            int m = 1; // ans中存储行号的起始位置为ans[1]
            /* 计算texts中每行字符串的最大值，并依次推入maxValues数组 */
            for (int i = 0; i < n; i++) {
                nums = array(texts[i]);
                maxValues[i] = getMax(nums);
            }
            maxOfAll = getMax(maxValues); // 计算texts中的最大值
            ans[0] = maxOfAll; // ans的第一个元素存储maxOfAll
            /* 遍历texts每一行的字符串，找出包含maxOfAll的行 */
            for (int i = 0; i < n; i++) {
                if (maxValues[i] == maxOfAll) {
                    ans[m] = i + 1; // 将所在行的行号推入ans
                    m++;
                }
            }
            return Arrays.copyOfRange(ans, 0, m); // ans[0]存储整体最大值，ans[1]~ans[m-1]存储出现整体最大值的行号
        }

        public static void main(String[] args) {
            Main test = new Main();
            Scanner input = new Scanner(System.in);
            int n = input.nextInt();
            input.nextLine();
            String[] texts = new String[n];
            for (int i = 0; i < n; i++) {
                texts[i] = input.nextLine();
            }
            int[] ans = test.countMax(texts);
            System.out.println(ans[0]);
            System.out.print(ans[1]);
            for (int i = 2; i < ans.length; i++) {
                System.out.print("," + ans[i]);
            }
        }
    }

